In a video encoding device that uses motion compensation prediction, there are two types of prediction signals, namely, an intra prediction signal and an inter prediction signal.
In inter prediction, a motion vector can be obtained With ¼ pel accuracy. FIG. 6 is an explanatory diagram depicting a pixel signal interpolation process in motion compensation prediction. In FIG. 6, A denotes a pixel signal of an integer pixel (full-pel) position, b, c, and d each denote a pixel signal of a sub-pel position with ½ pel accuracy, and e1, e2, and e3 each denote a pixel signal of a sub-pel position with ¼ pel accuracy. Hereafter, “pixel signal” is simply referred to as “pixel”.
Non Patent Literature (NPL) 1 discloses a video encoding technique that uses ¼ pel accuracy motion compensation prediction based on a DCT interpolation filter. FIG. 7 is a schematic diagram depicting motion compensation prediction based on a DCT interpolation filter.
A motion estimation unit based on the DCT interpolation filter (hereafter referred to as “motion estimation unit with DCT interpolation filter”) 104 estimates a sub-pel accuracy motion vector, based on a given full-pel accuracy motion vector. The motion estimation unit with DCT interpolation filter 104 supplies the sub-pel accuracy motion vector and 16 pixels (prediction signal) around the position corresponding to the sub-pel accuracy motion vector, to a prediction parameter selector 105. The prediction parameter selector 105 compares signals of an input image (original signal) and the prediction signal, and determines prediction parameters. The prediction parameters include a reference frame, a motion compensation prediction direction, a motion compensation prediction partition, and the sub-pel accuracy motion vector.
FIGS. 8 and 9 are explanatory diagrams of an integer pixel accuracy motion vector (full-pel MV) and a fractional pixel accuracy motion vector (sub-pel MV). In FIGS. 8 and 9, the small rectangles represent ¼ reference pixels. The small black rectangles represent integer reference pixels (full-pel reference samples). The thick black line box represents a motion compensation reference block (4×4 MC reference block) of 4 pixels×4 pixels (full-pel accuracy).
Suppose a full-pel MV is given as indicated by the arrow in FIG. 8. The motion estimation unit with DCT interpolation filter 104 determines an optimum ¼ pixel accuracy motion vector from a range of a plurality of pixels (e.g. 49 pixels×49 pixels with ¼ pixel accuracy) centered at the given vector, and supplies the optimum ¼ pixel accuracy motion vector to the prediction parameter selector 105.
In order to determine the optimum ¼ pixel accuracy motion vector, the motion estimation unit with DCT interpolation filter 104 needs to compute the pixels of ¼ pixel accuracy for 49 pixels×49 pixels centered at the position of the full-pel MV, by interpolation.
The dotted pixels of ¼ pixel accuracy in FIG. 9 are pixels that are likely to be interpolated by the DCT interpolation filter. FIG. 10 depicts an example of the ¼ pixel accuracy motion vector.
The number of taps of the DCT interpolation filter disclosed in NPL 1 is 8. The DCT interpolation filter coefficients at the sub-pel position of ¼ are [−1, 4, −10, 57, 19, −7, 3, −1]/64, the DCT interpolation filter coefficients at the sub-pel position of 2/4 are [−1, 4, −11, 40, 40, −11, 4, −1]/64, and the DCT interpolation filter coefficients at the sub-pel position of ¾ are [−1, 3, −7, 19, 57, −10, 4, −1]/64.